home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 2: CDPD 1 / Almathera Ten on Ten - Disc 2: CDPD 1.iso / pd / 301-325 / 325 / keymacro / keymacro.h < prev    next >
C/C++ Source or Header  |  1995-03-14  |  1KB  |  85 lines

  1. #include <intuition/intuitionbase.h>
  2. #include <libraries/dosextens.h>
  3. #include <workbench/workbench.h>
  4. #include <devices/inputevent.h>
  5. #include <workbench/startup.h>
  6. #include <exec/interrupts.h>
  7. #include <devices/input.h>
  8. #include <exec/memory.h>
  9.  
  10. #include "mxmbase.h"
  11.  
  12. extern struct Library    *OpenLibrary();
  13. extern struct MsgPort    *CreatePort();
  14. extern struct MsgPort    *FindPort();
  15. extern struct Message    *GetMsg();
  16. extern struct Task    *FindTask();
  17. extern void        *AllocMem();
  18. extern struct IOStdReq    *CreateStdIO();
  19. extern ULONG         Wait();
  20.  
  21. #define PORTNAME    "KeyMacro"
  22. #define REVISION    0
  23.  
  24. #define SIG_CLOSE    SIGBREAKF_CTRL_C
  25. #define SIG_PORT    (1 << MSeg -> Port . mp_SigBit)
  26.  
  27. #define MK_UNUSED    0
  28. #define MK_WORD        1
  29. #define MK_COMMAND    2
  30.  
  31. #define MM_INPUT    0
  32. #define MM_UPDATE    1
  33. #define MM_EXECUTE    2
  34.  
  35. #define MAXMACROS    30
  36.  
  37. struct KeyAlias
  38. {
  39.     char    *ka_Name;
  40.     ULONG     ka_Key;
  41. };
  42.  
  43. struct MacroKey
  44. {
  45.     UBYTE     mk_Type;
  46.  
  47.     LONG     mk_CommandKey;
  48.     LONG     mk_CommandQualifier;
  49.  
  50.     UBYTE    *mk_String;
  51.     UBYTE    *mk_Window;
  52. };
  53.  
  54. struct MacroMessage
  55. {
  56.     struct Message     mm_Message;
  57.  
  58.     UBYTE         mm_Type;
  59.  
  60.     struct MacroKey    *mm_MacroKey;
  61.  
  62.     LONG         mm_NumMacros;
  63.     struct MacroKey    *mm_MacroList;
  64.  
  65.     UBYTE        *mm_FileName;
  66.     UBYTE        *mm_WindowName;
  67. };
  68.  
  69. struct MSeg
  70. {
  71.     struct MsgPort     Port;
  72.  
  73.     BPTR         Segment;
  74.     LONG         SegSize;
  75.  
  76.     struct Task    *Father;
  77.     struct Task    *Child;
  78.  
  79.     ULONG         RingBack;
  80.     UBYTE         Revision;
  81.  
  82.     LONG         NumMacros;
  83.     struct MacroKey    *MacroList;
  84. };
  85.